The growth of large remote databases, expansion of the Internet and proliferation of corporate intranets are making
unprecedented demands on server I/O. In addition, new network protocols such as Fast Ethernet and Gigabit Ethernet
will accelerate the movement of files filled with "rich" data types to and from servers. I/O congestion will only
increase with the arrival of more streaming video, 3D data visualization graphics, and large files downloaded from data warehouses.
Traditionally, server performance has scaled to meet demand with the addition of higher-speed processors, symmetric
multiprocessing and system improvements in system architecture such as faster buses and memory. Because it makes demands
on the server's host processing resources, heavy I/O traffic is not only creating a serious performance bottleneck,
it also limits the scalability that can be achieved by even the most innovative host processor and system improvements.
The I2O architecture specification defined by the I2O SIG* (Special Interest Group) provides a solution by allowing
I/O to function independently from both the specific device being controlled and the host network operating system (OS).
I2O technology allows a combination of device driver standardization, increased I/O throughput and increased scalability,
while establishing a foundation for innovations in future server performance.
Device driver standardization
Multiple OS alternatives are now in widespread use, including NetWare 4*, Windows NT* Server and UnixWare*. With traditional I/O architecture,
a new driver must be developed for every unique OS and device combination.
I2O technology comes to the rescue with a "split driver" model that makes device drivers portable across different OS and hosts combinations.
The I2O driver stack consists of an Operating System Services Module (OSM) and a hardware device module (HDM). Once the OS suppliers write a
single I2O technology-ready driver for each device class (i.e. storage, LAN/WAN, etc.), device manufacturers need only to write a single I2O
technology-ready diver for their device, which is then portable across any I2O technology-compliant OS.
Increasing server capacity
I2O technology delegates I/O requests to multiple "smart" subsystems for administration by independent I/O processors (IOPs), without intervention
by the host processor. Intel i960® I/O processors integrate a RISC processor core controller, a PCI-to-PCI bridge and support for interrupt management
and DMA transfers. Distributed I/O processing improves throughput by relieving the host processor of many mundane interrupt-intensive I/O tasks.
At the same time, it makes additional host processor resources available for high bandwidth client/server applications.
Because tasks are offloaded from the CPU, I2O technology can enable the server to handle a larger application load, or more users.
This architecture also removes the bottleneck to scalability in server design. Adding more symmetric multiprocessing capability and more
smart devices to the server can result in a linear improvement in performance.
Building a foundation for I/O innovation
With its split driver model, I2O architecture is a spur to the development of a new range of cross-platform intelligent I/O devices. By separating
the server application from I/O processing, I2O technology sets the stage for dramatic performance-enhancing innovations, including IA-64 processors,
in addition to improvements in system and memory architecture.
The I2O technology stackable driver model allows developers to insert specialized functions in an Intermediate Services Module (ISM) which resides
between the OSM and the HDM. Examples include compression/decompression algorithms, RAID controller functions, application and system management,
data encryption, and support for Internet firewalls.
Another coming I2O technology innovation is "peer-to-peer communication" (PtP), which will allow IOPs to intelligently and autonomously pass
transmissions among themselves, without adding additional workload to the host. In addition, numerous applications can be offloaded from the
host processor to the I/O subsystem, such as disk-to-tape backup or Internet file transfers, while leaving the host processor free to perform
higher-level functions without interruption.